package com.ys.entity.finance;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCW_ProformaInvoice", catalog="Id")
public class TcwProformaInvoice extends BaseEntity<TcwProformaInvoice> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="InvoiceMonth", nameJava="invoiceMonth", typeDataBase="char")
	private String invoiceMonth;
	@YsField(nameDataBase="VgsbmBuy", nameJava="vgsbmBuy", typeDataBase="varchar")
	private String vgsbmBuy;
	@YsField(nameDataBase="VgsbmSales", nameJava="vgsbmSales", typeDataBase="varchar")
	private String vgsbmSales;
	@YsField(nameDataBase="TransactionAmount", nameJava="transactionAmount", typeDataBase="decimal")
	private BigDecimal transactionAmount;
	@YsField(nameDataBase="InvoiceNumber", nameJava="invoiceNumber", typeDataBase="varchar")
	private String invoiceNumber;
	@YsField(nameDataBase="InvoiceDate", nameJava="invoiceDate", typeDataBase="varchar")
	private String invoiceDate;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcwProformaInvoice setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TcwProformaInvoice setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public String getInvoiceMonth() {
		return invoiceMonth;
	}
	public TcwProformaInvoice setInvoiceMonth(String invoiceMonth) {
		this.invoiceMonth = invoiceMonth;
		return this;
	}
	public String getVgsbmBuy() {
		return vgsbmBuy;
	}
	public TcwProformaInvoice setVgsbmBuy(String vgsbmBuy) {
		this.vgsbmBuy = vgsbmBuy;
		return this;
	}
	public String getVgsbmSales() {
		return vgsbmSales;
	}
	public TcwProformaInvoice setVgsbmSales(String vgsbmSales) {
		this.vgsbmSales = vgsbmSales;
		return this;
	}
	public BigDecimal getTransactionAmount() {
		return transactionAmount;
	}
	public TcwProformaInvoice setTransactionAmount(BigDecimal transactionAmount) {
		this.transactionAmount = transactionAmount;
		return this;
	}
	public String getInvoiceNumber() {
		return invoiceNumber;
	}
	public TcwProformaInvoice setInvoiceNumber(String invoiceNumber) {
		this.invoiceNumber = invoiceNumber;
		return this;
	}
	public String getInvoiceDate() {
		return invoiceDate;
	}
	public TcwProformaInvoice setInvoiceDate(String invoiceDate) {
		this.invoiceDate = invoiceDate;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcwProformaInvoice setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcwProformaInvoice setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcwProformaInvoice setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcwProformaInvoice tcwProformaInvoice(
		String bid,
		String invoiceMonth,
		String vgsbmBuy,
		String vgsbmSales,
		BigDecimal transactionAmount,
		String invoiceNumber,
		String invoiceDate,
		Integer status
			) {
		TcwProformaInvoice entity = new TcwProformaInvoice();
		entity.setBid(bid);
		entity.setInvoiceMonth(invoiceMonth);
		entity.setVgsbmBuy(vgsbmBuy);
		entity.setVgsbmSales(vgsbmSales);
		entity.setTransactionAmount(transactionAmount);
		entity.setInvoiceNumber(invoiceNumber);
		entity.setInvoiceDate(invoiceDate);
		entity.setStatus(status);
		return entity;
	}
}